#include<bits/stdc++.h>
using namespace std;

int n;
vector<string> vec;

void dfs(int c,const string s,int left)
{
	//cout<<c<<" "<<s<<" "<<left<<endl;
	//if(c>left) return;
	if(left==0)
	{
		vec.emplace_back(s);
		return;
	}
	string str;
	for(int i=c;i<=left;i++)
	{
		str=s+"+"+(char)(i+'0');
		dfs(i,str,left-i);
	}
}

int main()
{
	cin>>n;
	for(int i=1;i<=n/2;i++)
	{
		string s="";
		s+=(char)('0'+i);
		dfs(i,s,n-i);
	}
	sort(vec.begin(),vec.end());
	for(auto s:vec)
	{
		cout<<s<<endl;
	}
	return 0;
}
